package io.github.gcdd1993.jpa.codegen.config;

import io.github.gcdd1993.jpa.codegen.metadata.EntityInfo;
import lombok.Data;

import java.util.*;

/**
 * TODO
 *
 * @author gaochen
 * Created on 2019/6/20.
 */
@Data
public class CodeGeneratorConfig {
    /**
     * 实体类所在的包名
     */
    private String entityFlag;

    /**
     * 实体类类类型集
     */
    private List<Class<?>> entityClasses = new ArrayList<>(256);

    /**
     * 需要兼容解析实体类字段类型的包名,默认支持java.lang.*
     */
    private Set<String> entityFiledTypePackages = new HashSet<>(16);

    /**
     * 需要兼容解析实体类字段类型的全类名
     */
    private Set<String> entityFiledTypeNames = new HashSet<>(16);

    /**
     * 模板文件存放路径
     */
    private String ftlPath;

    /**
     * 作者信息
     */
    private String author;

    /**
     * 时间
     */
    private String date;

    /**
     * 说明,备注
     */
    private String comments;

    /**
     * 是否覆盖生成
     */
    private boolean cover;

    /**
     * 模板信息
     */
    private Map<String, ModuleConfig> moduleConfigMap = new HashMap<>();

    /**
     * 所有的实体类信息
     */
    private List<EntityInfo> entityInfos;

    /**
     * 自定义信息
     */
    private Map<String, String> otherParams;
}
